package com.wxmp.userwechat.mapper;


import org.apache.ibatis.annotations.Param;
import org.mybatis.spring.annotation.MapperScan;

import com.wxmp.common.dao.BaseMapper;
import com.wxmp.userwechat.domain.SysUserEntity;
import com.wxmp.userwechat.domain.SysUserWechatEntity;

/**
 * 用户绑定微信
 * @author song.wang
 * @date 2019年2月25日
 */
@MapperScan
public interface SysUserWechatMapper extends BaseMapper<SysUserWechatEntity> {

	/**
	 * 根据openid获取对象
	 * @author song.wang
	 * @date 2019年4月16日
	 * @param openid
	 * @return SysUserWechatEntity
	 *
	 * 更新日志
	 * 2019年4月16日 song.wang 首次创建
	 */
	public SysUserWechatEntity getObjectByOpenid(String openid);

	/**
	 * 根据用户id获取对象
	 * @author song.wang
	 * @date 2019年4月16日
	 * @param userId
	 * @return SysUserWechatEntity
	 *
	 * 更新日志
	 * 2019年4月16日 song.wang 首次创建
	 */
	public SysUserWechatEntity getObjectByUserId(String userId);

	/**
	 * 根据用户id移除对象
	 * @author song.wang
	 * @date 2019年4月16日
	 * @param userId
	 * @return int
	 *
	 * 更新日志
	 * 2019年4月16日 song.wang 首次创建
	 */
	public int removeByUserId(String userId);

	/**
	 * 根据openid获取已绑定账号数量
	 *
	 * @Author	李清学
	 * @param openid
	 * @return  int
	 * @Date	2019年4月25日
	 *
	 * 更新日志
	 *
	 * 2019年4月25日 李清学  首次创建
	 *
	 */
	public Integer countByOpenid(String openid);
	
	/**
	 * 更新微信绑定状态
	 * @author song.wang
	 * @date 2019年2月26日
	 * @param userId
	 * @param wechatStatus
	 * @return int
	 * 
	 * 更新日志
	 * 2019年2月26日 song.wang 首次创建
	 */
	int updateWechatStatus(@Param(value = "userId")String userId,@Param(value = "wechatStatus")Short wechatStatus);
	
	/**
	 * 根据用户id获取用户信息
	 * @author song.wang
	 * @date 2019年6月27日
	 * @param userId
	 * @return SysUserEntity
	 * 
	 * 更新日志
	 * 2019年6月27日 song.wang 首次创建
	 */
	public SysUserEntity getUserById(String userId);
}
